<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文章详情</title>
    <link rel="stylesheet" href="prims/prism.css">
    <link rel="stylesheet" href="prims/typo.css">
</head>
<body>
<div id="wrapper" class="typo typo-selection"><h2>中文网页重设与排版：typo.css</h2>
<p><a href="https://prismjs.com/" title="高亮" target="_black">高亮</a>
一致化浏览器排版效果，构建最适合中文阅读的网页排版
关于 typo.css
排版实例</p>
<ul>
<li>例1：论语学而篇第一</li>
<li>例2：英文排版
附录
typo.css 排版偏重点
开源许可</li>
</ul>
<h3>一、关于 typo.css</h3>
<p>typo.css 的目的是，在一致化浏览器排版效果的同时，构建最适合中文阅读的网页排版。</p>
<p>现状和如何去做：
1.排版是一个麻烦的问题 # 附录一，需要精心设计，而这个设计却是常被视觉设计师所忽略的。前端工程师更常看到这样的问题，但不便变更。因为在多个 OS 中的不同浏览器渲染不同，改动需要多的时间做回归测试，所以改变变得更困难。而像我们一般使用的 Yahoo、Eric Meyer 和 Alice base.css 中采用的 Reset 都没有很好地考虑中文排版。typo.css 要做的就是解决中文排版的问题。</p>
<ul>
<li>typo.css 测试于如下平台：</li>
</ul>
<table class="ui celled table">
<thead>
<tr>
<th>三点家啊到那时就</th>
<th>打撒大</th>
<th>大撒撒撒</th>
</tr>
</thead>
<tbody>
<tr>
<td>萨萨达说撒打算</td>
<td>大啊说的撒点撒</td>
<td>萨达洒洒的</td>
</tr>
<tr>
<td>啥事的撒打算</td>
<td>大多数的撒打算</td>
<td>大大大阿</td>
</tr>
<tr>
<td>手机费八大鸡巴神经病</td>
<td>多方面的司法鉴定你发</td>
<td>分地方比较打算</td>
</tr>
</tbody>
</table>
<ul>
<li>中文排版的重点和难点</li>
</ul>
<p>在中文排版中，HTML4 的很多标准在语义在都有照顾到。但从视觉效果上，却很难利用单独的 CSS 来实现，像着重号（例：这里强调一下）。在 HTML4 中，专名号标签）已经被放弃，而 HTML5 被重新提起。typo.css 也根据实际情况提供相应的方案。我们重要要注意的两点是：</p>
<p>语义：语义对应的用法和样式是否与中文排版一致
表现：在各浏览器中的字体、大小和缩放是否如排版预期
对于这些，typo.css 排版项目的中文偏重注意点，都添加在附录中，详见：</p>
<ul>
<li>附录一：typo.css 排版偏重点
目前已有像百姓网等全面使用 typo.css 的项目，测试平台的覆盖，特别是在移动端上还没有覆盖完主流平台，希望有能力的同学能加入测试行列，或者加入到 typo.css 的开发。加入方法：参与 typo.css 开发。如有批评、建议和意见，也随时欢迎给在 Github 直接提 issues，或给我发邮件。</li>
</ul>
<h3>二、排版实例：</h3>
<p>提供2个排版实例，第一个中文实例来自于来自于张燕婴的《论语》，由于古文排版涉及到的元素比较多，所以采用《论语》中《学而》的第一篇作为排版实例介绍；第2个来自到经典的 Lorem Ipsum，并加入了一些代码和列表等比较具有代表性的排版元素。</p>
<p>例1：论语学而篇第一
作者：孔子（ 前551年9月28日－前479年4月11日 ）</p>
<p>本篇引语
《学而》是《论语》第一篇的篇名。《论语》中各篇一般都是以第一章的前二三个字作为该篇的篇名。《学而》一篇包括16章，内容涉及诸多方面。其中重点是「吾日三省吾身」；「节用而爱人，使民以时」；「礼之用，和为贵」以及仁、孝、信等道德范畴。</p>
<p>原文
子曰：「学而时习之，不亦说乎？有朋自远方来，不亦乐乎？人不知，而不愠，不亦君子乎？」</p>
<p>译文
孔子说：「学了又时常温习和练习，不是很愉快吗？有志同道合的人从远方来，不是很令人高兴的吗？人家不了解我，我也不怨恨、恼怒，不也是一个有德的君子吗？」</p>
<p>评析
宋代著名学者朱熹对此章评价极高，说它是「入道之门，积德之基」。本章这三句话是人们非常熟悉的。历来的解释都是：学了以后，又时常温习和练习，不也高兴吗等等。三句话，一句一个意思，前后句子也没有什么连贯性。但也有人认为这样解释不符合原义，指出这里的「学」不是指学习，而是指学说或主张；「时」不能解为时常，而是时代或社会的意思，「习」不是温习，而是使用，引申为采用。而且，这三句话不是孤立的，而是前后相互连贯的。这三句的意思是：自己的学说，要是被社会采用了，那就太高兴了；退一步说，要是没有被社会所采用，可是很多朋友赞同我的学说，纷纷到我这里来讨论问题，我也感到快乐；再退一步说，即使社会不采用，人们也不理解我，我也不怨恨，这样做，不也就是君子吗？（见《齐鲁学刊》1986年第6期文）这种解释可以自圆其说，而且也有一定的道理，供读者在理解本章内容时参考。</p>
<p>此外，在对「人不知，而不愠」一句的解释中，也有人认为，「人不知」的后面没有宾语，人家不知道什么呢？当时因为孔子有说话的特定环境，他不需要说出知道什么，别人就可以理解了，却给后人留下一个谜。有人说，这一句是接上一句说的，从远方来的朋友向我求教，我告诉他，他还不懂，我却不怨恨。这样，「人不知」就是「人家不知道我所讲述的」了。这样的解释似乎有些牵强。</p>
<p>总之，本章提出以学习为乐事，做到人不知而不愠，反映出孔子学而不厌、诲人不倦、注重修养、严格要求自己的主张。这些思想主张在《论语》书中多处可见，有助于对第一章内容的深入了解。</p>
<p>例2：英文排版
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
The standard Lorem Ipsum passage, used since the 1500s
&quot;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
List style in action
If you wish to succeed, you should use persistence as your good friend, experience as your reference, prudence as your brother and hope as your sentry.
如果你希望成功，当以恒心为良友，以经验为参谋，以谨慎为兄弟，以希望为哨兵。</p>
<p>/* 现代排版：保证块/段落之间的空白隔行 */
.typo p, .typo pre, .typo ul, .typo ol, .typo dl, .typo form, .typo hr {
margin:1em 0 0.6em;
}</p>
<p>（2）上下标在 IE 中显示效果
（3）块/段落分割空白是否符合设计原则
（4）input 多余空间问题
（5）默认字体色彩，目前采用 #333 在各种浏览显示比较好
2、开源许可
typo.css 基于 MIT License 开源，使用代码只需说明来源，或者引用 license.txt 即可。</p>
<pre><code class="language-html">&lt;html&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;wangEditor/release/wangEditor.css&quot;&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;layui/css/layui.css&quot;&gt;
    &lt;title&gt;wangEditor 编辑器&lt;/title&gt;
    &lt;style type=&quot;text/css&quot;&gt;
        .toolbar {
            border: 1px solid #ccc;
        }

        .text {
            border: 1px solid #ccc;
            height: 400px;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div style=&quot;margin: 0 auto; width: 90%&quot;&gt;
    &lt;div id=&quot;div1&quot; style=&quot;margin-top: 15px;padding: 8px 20px;&quot; class=&quot;toolbar&quot;&gt;
    &lt;/div&gt;
    &lt;div style=&quot;padding: 5px 0; color: #ccc&quot;&gt;中间隔离带&lt;/div&gt;
    &lt;div id=&quot;div2&quot; class=&quot;text&quot; style=&quot;min-height: 600px&quot;&gt; &lt;!--可使用 min-height 实现编辑区域自动增加高度--&gt;

    &lt;/div&gt;

   &lt;div style=&quot;text-align: center&quot;&gt; &lt;button type=&quot;button&quot; id=&quot;submit&quot; class=&quot;layui-btn layui-btn-normal&quot;&gt;提交&lt;/button&gt;
       &lt;button type=&quot;button&quot; id=&quot;restart&quot; class=&quot;layui-btn&quot;&gt;清空&lt;/button&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;script type=&quot;text/javascript&quot; src=&quot;layui/layui.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;wangEditor/release/wangEditor.js&quot;&gt;&lt;/script&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
    var E = window.wangEditor
    var editor = new E('#div1', '#div2')  // 两个参数也可以传入 elem 对象，class 选择器

    var httpurl = &quot;http://localhost:8080&quot;;

    editor.customConfig.uploadImgServer = httpurl + &quot;/editor/upload&quot;;
    editor.customConfig.uploadFileName = 'file';
    editor.customConfig.uploadImgMaxSize = 10 * 1024 * 1024;
    editor.customConfig.pasteFilterStyle = false;
    editor.customConfig.withCredentials = true;
    editor.customConfig.colors = [
        '#000000',
        '#7b5ba1',
        '#FF3399',
        '#f9963b',
        '#ffffff',
        '#FF0000',
        '#0000FF',
        '#00FF00',
        '#FF00FF',
        '#C0C0C0',
        '#FFFF00',
        '#728CFF',
        '#00FFFF',
    ];

    editor.customConfig.uploadImgHooks = {
        success: function (xhr, editor, result) {
            layer.msg(&quot;图片上传成功&quot;, {icon: 6});
        },
        fail: function (xhr, editor, result) {
            layer.msg(&quot;返回数据有误&quot;, {icon: 5});
        },


    };


    editor.customConfig.linkImgCallback = function (url) {
        console.log(url) // url 即插入图片的地址
    }


    editor.create();

    layui.use(['layer', 'jquery'], function () {
        var $ = layui.jquery,
</code></pre>
<p><img src="http://localhost:8080/imageShow?imgFileName=41b476.png" alt="" /></p>
</div>
<script type="text/javascript" src="prims/prism.js"></script>
</body>
</html>
